﻿@page "/Error"
@using System.Diagnostics

<PageTitle>Error</PageTitle>

<h1 class="text-danger">Error.</h1>
<h2 class="text-danger">An error occurred while processing your request.</h2>

@if (ShowRequestId)
{
	<p>
		<strong>Request ID:</strong> <code>@RequestId</code>
	</p>
}

<h3>Development Mode</h3>
<p>
	Swapping to <strong>Development</strong> environment will display more detailed information about the error that occurred.
</p>
<p>
	<strong>The Development environment shouldn't be enabled for deployed applications.</strong>
	It can result in displaying sensitive information from exceptions to end users.
	For local debugging, enable the <strong>Development</strong> environment by setting the <strong>ASPNETCORE_ENVIRONMENT</strong> environment variable to <strong>Development</strong>
	and restarting the app.
</p>

@code{
	[CascadingParameter]
	private HttpContext? HttpContext { get; set; }

	private string? RequestId { get; set; }
	private bool ShowRequestId => !string.IsNullOrEmpty(RequestId);

	protected override void OnInitialized() =>
		RequestId = Activity.Current?.Id ?? HttpContext?.TraceIdentifier;
}
